﻿/*
 * Created by SharpDevelop.
 * User: Miguel
 * Date: 01/11/2011
 * Time: 08:25 p.m.
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Drawing;
using System.Windows.Forms;
using Business_Entity;
namespace PetSoft.GUI.Compras
{
	/// <summary>
	/// Description of GUILineaOrdenCompra.
	/// </summary>
	public partial class GUILineaOrdenCompra : Form
	{
		private int filaseleccionada;
		private int punto;
		private bool bpunto;
		private DataGridView table;
		public GUILineaOrdenCompra(DataGridView tabla,int fila)
		{
			//
			// The InitializeComponent() call is required for Windows Forms designer support.
			//
			try{
				InitializeComponent();
				table=tabla;
				punto=0;
				bpunto=false;
				filaseleccionada=fila;
				CargarVentana();
			}catch(Exception ex){
				Utils.MessageError("",ex);
			}
			//
			// TODO: Add constructor code after the InitializeComponent() call.
			//
		}
		private void CargarVentana(){
			try{
				this.MaximizeBox=false;
	            this.MinimizeBox=false;
	            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
				CodigoTB.Enabled=false;
				NombreTB.Enabled=false;
				TipoProductoTB.Enabled=false;
				DescripcionTB.Enabled=false;
				TotalTB.Enabled=false;
				CantidadTB.Enabled=true;
				PrecioUnitarioTB.Enabled=true;
				BELineaOrdenCompra beLOC=new BELineaOrdenCompra();
				beLOC.ProductoProveedor.Producto.Codigo=int.Parse(table[0,filaseleccionada].Value.ToString());
	        	beLOC.ProductoProveedor.Producto.Nombre=table[1,filaseleccionada].Value.ToString();
	        	beLOC.ProductoProveedor.Producto.TipoProducto.Descripcion=table[2,filaseleccionada].Value.ToString();
	        	beLOC.ProductoProveedor.Producto.Descripcion=table[3,filaseleccionada].Value.ToString();
	        	beLOC.Cantidad=int.Parse(table[4,filaseleccionada].Value.ToString());
	        	beLOC.PrecioUnitario=float.Parse(table[5,filaseleccionada].Value.ToString());
	        	beLOC.PrecioTotal=float.Parse(table[6,filaseleccionada].Value.ToString());
	        	CodigoTB.Text=beLOC.ProductoProveedor.Producto.Codigo.ToString();
	        	NombreTB.Text=beLOC.ProductoProveedor.Producto.Nombre;
	        	TipoProductoTB.Text=beLOC.ProductoProveedor.Producto.TipoProducto.Descripcion;
	        	DescripcionTB.Text=beLOC.ProductoProveedor.Producto.Descripcion;
	        	CantidadTB.Text=beLOC.Cantidad.ToString();
	        	PrecioUnitarioTB.Text=beLOC.PrecioUnitario.ToString();
	        	TotalTB.Text=beLOC.PrecioTotal.ToString();
	        	this.CantidadTB.KeyPress += new System.Windows.Forms.KeyPressEventHandler(Utils.SoloNumerosTB);
				this.PrecioUnitarioTB.KeyPress+=new KeyPressEventHandler(Utils.DecimalesPuntoTB);
				this.AceptarBTN.Click+=new EventHandler(AceptarBTN_Event);
				this.CantidadTB.KeyPress+=new KeyPressEventHandler( Utils.SoloNumerosTB);
				this.PrecioUnitarioTB.KeyPress+=new KeyPressEventHandler( Utils.DecimalesPuntoTB);
			}catch(Exception ex){
				Utils.MessageError("",ex);
			}
		}

		void AceptarBTN_Event(object sender,EventArgs e)
		{
			try{
				int cant=int.Parse(CantidadTB.Text);
				float pu=float.Parse(PrecioUnitarioTB.Text);
				table[4,filaseleccionada].Value=cant.ToString();
				table[5,filaseleccionada].Value=pu.ToString();
				table[6,filaseleccionada].Value=int.Parse(CantidadTB.Text)*float.Parse(PrecioUnitarioTB.Text);
				this.Close();
			}catch(FormatException exc){
				Utils.MessageError("Se ha ingresado un formato de numero incorrecto",null);
			}catch(Exception ex){
				Utils.MessageError("",ex);
			}
		}
		
		void CantidadTBKeyPress(object sender, KeyPressEventArgs e)
		{
			try{
				/*String cad=CantidadTB.Text;
				if ((e.KeyChar.CompareTo('0')>=0) && (e.KeyChar.CompareTo('9')<=0))
				{
					if (cad.Length==1){
						if (cad.CompareTo("0")==0){
							e.Handled=true;						
							Utils.MessageAviso("No debe de ingresar valores no numericos");
							CantidadTB.Text="0";
						}
						
					}
				}*/
				Utils.SoloNumerosTB(sender,e);
			}catch(FormatException ek){
				Utils.MessageError("Se ha ingresado un mal formato de numero",null);
			}
			catch(InvalidCastException exc){
				Utils.MessageError("",exc);
			}
			catch(Exception ex){
				Utils.MessageError("",ex);
			}
		}
		
		
		
		
		
		
		
		void PrecioUnitarioTBTextChanged(object sender, EventArgs e)
		{
			
		}
		
		void PrecioUnitarioTBKeyPress(object sender, KeyPressEventArgs e)
		{
			Utils.DecimalesPuntoTB(sender,e);
		}
	}
}
